Skip to content

docs(CH-002): reconcile corpus with shipped TypeScript npm publishing#219

Merged
flemming-n-larsen merged 3 commits into
mainfrom
ch-002-reconcile-typescript-npm-publishing
Jul 19, 2026
Merged

docs(CH-002): reconcile corpus with shipped TypeScript npm publishing#219
flemming-n-larsen merged 3 commits into
mainfrom
ch-002-reconcile-typescript-npm-publishing

Conversation

@flemming-n-larsen

Copy link
Copy Markdown
Contributor

CH-002 — Reconcile the corpus with the shipped TypeScript npm-publishing work

Docs-only. The TypeScript Bot API npm-publishing feature shipped before the Cliewen extraction (CH-001) and was never digested, so the corpus still described the OpenSpec-era intent instead of what actually shipped. clue validate was green because the drift was semantic, not structural.

Evidence it already shipped

  • npmPack + npmPublish Gradle tasks in bot-api/typescript/build.gradle.kts
  • /release skill invokes ./gradlew :bot-api:typescript:npmPublish
  • @robocode.dev/tank-royale-bot-api@1.0.2 live on npm (modified 2026-05-18)
  • .npmrc git-ignored (.gitignore:28)

Divergences reconciled (decided with the maintainer)

  1. M-004 claimed todo for done work → done; plan activecompleted.
  2. M-004 referenced a non-existent CAP-014CAP-013.
  3. npmPublishDryRun (spec TNP-001, M-004, design) was never built and is not needednpmPack already shows what would be published without uploading. Dropped from the spec.
  4. Credentials: spec required an NPM_TOKEN env var; the shipped code uses a npmjs-api-key Gradle property (matches the Sonatype/PyPI pattern and the /release skill). Spec reconciled to reality.

AC changes (clue-delta retire + remint)

  • TNP-001 retired (task dropped, no remint).
  • TNP-002/TNP-003 retired (NPM_TOKEN) → reminted TNP-005/TNP-006 (npmjs-api-key).
  • TNP-004 unchanged.

Scope boundary

  • No code changes — the shipped build.gradle.kts is the source of truth.
  • CAP-013 stays draft. Promotion to active needs wired TNP tests — that is the separate M-002 door, not this change.

Verification

  • clue validate → OK (115 artifacts); clue validate --forbid-changes → OK.
  • NPM_TOKEN/npmPublishDryRun remain only inside the @retired tombstones; no CAP-014 anywhere.
  • Two decision-log rows recorded in docs/decisions/log.md.

🤖 Generated with Claude Code

flemming-n-larsen and others added 3 commits July 19, 2026 14:19
…publishing

Open the change workspace for CH-002. The npm-publishing feature shipped before
the Cliewen extraction (CH-001) and was never digested, so P-002/M-004 and CAP-013
still describe the OpenSpec-era intent rather than the shipped implementation.

Serves P-002 / M-004 / CAP-013.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…rpus

Reconcile P-002/M-004 and CAP-013 to the shipped implementation (docs only,
no code change). The npmPack/npmPublish Gradle tasks and the live npm package
@robocode.dev/tank-royale-bot-api@1.0.2 are the source of truth.

- P-002: M-004 todo -> done with evidence; fix CAP-014 -> CAP-013; drop the
  never-built npmPublishDryRun and the "ACs tested" clause (that is M-002);
  plan active -> completed.
- CAP-013 criteria: retire TNP-001 (dry-run, never built) and TNP-002/003
  (NPM_TOKEN) as @Retired tombstones; remint TNP-005/006 for the shipped
  npmjs-api-key Gradle property; correct the requirement prose. TNP-004 kept.
- CAP-013 design/README: correct to the shipped mechanism; note it is live.
  CAP-013 stays draft (promotion to active is the M-002 test-wiring door).
- decisions/log.md: record the drop-dry-run and npmjs-api-key-over-NPM_TOKEN
  decisions.

Delete the CH-002 change workspace (main must never contain /changes/).

clue validate: OK.

Serves P-002 / M-004 / CAP-013.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…xample

Make the shipped credential mechanism clear for contributors: add a "Credential
setup" section to CAP-013 design showing where npmjs-api-key lives (user
gradle.properties, not the project file) and an example line, and noting it sits
alongside the other publish credentials.

Serves P-002 / M-004 / CAP-013.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@flemming-n-larsen
flemming-n-larsen merged commit 1ff7796 into main Jul 19, 2026
3 checks passed
@flemming-n-larsen
flemming-n-larsen deleted the ch-002-reconcile-typescript-npm-publishing branch July 19, 2026 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant